using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ButtonSpriteController : MonoBehaviour
{
    public Button[] buttons; // 四个按钮的引用
    public Sprite[] clickedSprites; // 点击状态的图片数组
    public Sprite[] unclickedSprites; // 未点击状态的图片数组

    private void Start()
    {
        // 初始化按钮状态，第一个按钮为点击状态，其他为未点击状态
        for (int i = 0; i < buttons.Length; i++)
        {
            if (i == 0)
            {
                SetButtonSprite(buttons[i], clickedSprites[i]);
            }
            else
            {
                SetButtonSprite(buttons[i], unclickedSprites[i]);
            }

            // 为每个按钮添加点击事件监听器
            int index = i; // 避免闭包问题
            buttons[i].onClick.AddListener(() => OnButtonClick(index));
        }
    }

    private void OnButtonClick(int buttonIndex)
    {
        // 将所有按钮设置为未点击状态
        for (int i = 0; i < buttons.Length; i++)
        {
            SetButtonSprite(buttons[i], unclickedSprites[i]);
        }

        // 将被点击的按钮设置为点击状态
        SetButtonSprite(buttons[buttonIndex], clickedSprites[buttonIndex]);
    }

    private void SetButtonSprite(Button button, Sprite sprite)
    {
        // 获取按钮的 Image 组件
        Image image = button.GetComponent<Image>();
        if (image != null)
        {
            // 设置 Image 组件的 Sprite
            image.sprite = sprite;
        }
    }
}
